package com.oliet.service;

import com.oliet.common.dto.permission.CreatePermissionDTO;
import com.oliet.common.dto.permission.UpdatePermissionDTO;
import com.oliet.common.vo.page.PageVO;
import com.oliet.common.vo.permission.PermissionTreeNodeVO;
import com.oliet.common.vo.permission.PermissionVO;
import com.oliet.entity.Permissions;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author JZP
 * @since 2023-11-26
 */
public interface PermissionsService extends IService<Permissions> {

    void create(CreatePermissionDTO param);

    PageVO<PermissionVO> pageList(Long pageNo, Long pageSize, String search);

    PermissionVO info(Long id);

    List<PermissionTreeNodeVO> tree();

    List<PermissionTreeNodeVO> getByRole(Long roleId);

    void deleteById(Long id);

    void update(UpdatePermissionDTO param);
}
